Instruction-Isomorphism in Program Execution

نویسنده

  • Yiannakis Sazeides
چکیده

This paper identifies a fundamental runtime program property: Instruction–Isomorphism. An instruction instance is said to be isomorphic if its component information derived from the instruction and its backward dynamic data dependence graph is identical to the component of an instruction executed earlier. By definition an isomorphic instruction will produce exactly the same output with the earlier instruction. This work introduces a taxonomy of isomorphic behavior, describes transformations that can change the isomorphic behavior of an instruction, characterizes empirically various aspects of instruction–isomorphism and suggests directions for improving predictors and performance. The empirical analysis shows that there is very little instruction–isomorphism in the dynamic dependence graph of a program. This is due to programming conventions and architectural semantics that introduce a lot of “overhead” nodes and dependences. However, by transforming the dynamic dependence graph closer to its dataflow form, instruction–isomorphism becomes prominent. The data show that for SPEC benchmarks, depending on the benchmark and dataset, 65 to 99.9% of the dynamic instructions are isomorphic.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Architecture Base Graphs: An Alternative Instruction Scheduling and Register Allocation Approach for High Per- formance Processor Architectures

This paper presents a unified algorithm that addresses the instruction scheduling and register allocation problems for high performance processor architectures. Our proposal is based on the subgraph isomorphism theory. Given a Directed Acyclic Graph (DAG) G1, the algorithm looks for a subgraph G2 in an architecture base graph G2, such that G ′ 2 is isomorphic to G1. G1 is a DAG extracted out fr...

متن کامل

The Logical Abstract Machine: A Curry-Howard Isomorphism for Machine Code

This paper presents a logical framework for low-level machine code and code generation. We first define a calculus, called sequential sequent calculus, of intuitionistic propositional logic. A proof of the calculus only contains left rules and has a linear (non-branching) structure, which reflects the properties of sequential machine code. We then establish a Curry-Howard isomorphism between th...

متن کامل

Predicting Instruction Cache Behavior

It has been claimed that the execution time of a program can often be predicted more accurately on an uncached system than on a system with cache memory 5, 20]. Thus, caches are often disabled for critical real-time tasks to ensure the predictability required for scheduling analysis. This work shows that instruction caching can be exploited to gain execution speed without sacriicing predictabil...

متن کامل

Data Dependent Hardware for Subgraph Isomorphism Problem

Subgraph isomorphism problem has various important applications, while it is generally NP-complete and difficult to solve. Though Ullmann’s algorithm can be implemented by parallel hardware to accelerate the execution, it requires too much hardware to implement. This paper examines the feasibility of data dependent circuit for subgraph isomorphism problem. Logic gates are generally reducible if...

متن کامل

Performance Stability and Prediction

This paper presents experimental data from our research on stability of parallel programs and cross-machine performance prediction on multicomputers. We characterize program behavior by an execution graph, obtained from running an instrumented version of the program. We assess program stability using time perturbations, and analyze the resulting execution graphs with an approximation of a graph...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Instruction-Level Parallelism

دوره 5  شماره 

صفحات  -

تاریخ انتشار 2003